home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer: Getting Started / Internet Surfer - Getting Started (Wayzata Technology)(7231)(1995).bin / pc / textfile / mac_faqs / obj_c / classes next >
Internet Message Format  |  1995-01-30  |  23KB

  1. Xref: bloom-picayune.mit.edu comp.lang.objective-c:1012 news.answers:4555
  2. Path: bloom-picayune.mit.edu!enterpoop.mit.edu!spool.mu.edu!olivea!sun-barr!cs.utexas.edu!bcm!aio!fdr!shirley
  3. From: shirley@fdr.uucp (Bill Shirley [CSC])
  4. Newsgroups: comp.lang.objective-c,news.answers
  5. Subject: Objective-C  Classes/Libraries Available - FAQ
  6. Summary: A listing of Objective-C Class Libraries freely available,
  7.     bundled with other packages, or purchasable from 3rd parties.
  8. Message-ID: <objc-classes_724237201@fdr.jsc.nasa.edu>
  9. Date: 13 Dec 92 09:00:49 GMT
  10. Expires: 26 Jan 1993 09:00:01 GMT
  11. References: <objc_724237201@fdr.jsc.nasa.edu>
  12. Sender: news@aio.jsc.nasa.gov (USENET News System)
  13. Followup-To: comp.lang.objective-c
  14. Organization: nasa-jsc
  15. Lines: 519
  16. Approved: news-answers-request@MIT.Edu
  17. Supersedes: <objc-classes_721077644@fdr.jsc.nasa.edu>
  18.  
  19. Archive-name: Objective-C/classes
  20. Last-modified: 1992/08/18
  21. Version: 1.0
  22.  
  23.  
  24.                Objective C
  25.             A matter of Class
  26.  
  27.    A (very incomplete) listing of available Objective-C classes
  28.  
  29.  
  30. Index:
  31.   Stepstone Classes/Libraries
  32.   GNU Distributed Classes
  33.   Public Domain Classes
  34.   NeXT Distributed Classes
  35.   NeXT 3rd Party Classes
  36.  
  37.  
  38. *Class* == Not a part of that kit
  39.  
  40.  
  41. ===========================
  42. Stepstone Classes/Libraries
  43. ===========================
  44.  
  45.   Bundled with the compiler is ICpak 101 - Foundation Class Library
  46.         (20 classes, more than 300 methods)
  47.   Object                object - the runtime 'root' object'
  48.     Array               array - an abstract class
  49.       IdArray           id array - array of objects
  50.       IntArray          integer array
  51.     AsciiFiler          ASCII filer - an automatic I/O object
  52.     Cltn                collection - an abstract class
  53.       OrdCltn           ordered collection
  54.       Stack             LIFO collection
  55.       Set               Set collection - no duplicate members
  56.         Dictionary      associations - a la symbol tables
  57.     BalNode             balanced node - support for binary trees
  58.       SortCltn          sorted collection
  59.     String              string - null terminated ASCII sequence
  60.     Point               point - 2D coordinate
  61.     Rectangle           rectangle - 2D region
  62.     Assoc               association - key/value pairs support for dictionaries
  63.     IPSequence          in-place sequence - for sequencing through cltn
  64.       Sequence          sequence - same as above but uses copy of data
  65.     ObjGraph            object graph - graph of objects reachable
  66.     Unknown             unknown - support for AsciiFiler
  67.  
  68.   available separately for most systems, ICpak 201 - Graphical User Interface
  69.         (58 classes, more than 1100 methods)
  70.  
  71.   *Object*
  72.     IntCltn
  73.       IntOrdCltn
  74.     PtrCltn
  75.       PtrOrdCltn
  76.     TransCltr
  77.       OpaqCltr
  78.     *Array*
  79.       ColorArray
  80.         ColorMap
  81.       ShortArray
  82.       PtrArray
  83.     RubberLine
  84.     EventQ
  85.     CharString
  86.     Quad
  87.       RectList
  88.       DispObject
  89.         SolidColor
  90.         DispText
  91.         DispMedium
  92.           [****] ....
  93.         Pattern
  94.         Cursor
  95.       EchoBox
  96.     Font
  97.     Menu
  98.       DepMenu
  99.       AdHocMenu
  100.     Timer
  101.     DepObject
  102.     SharObject
  103.  
  104.   available for several platforms, ICpak 301 - GRAPHpak
  105.  
  106.   [****]
  107.  
  108.  
  109.  
  110. =======================
  111. GNU distributed classes
  112. =======================
  113.  
  114.   [****]
  115.  
  116.  
  117. =====================
  118. Public Domain classes
  119. =====================
  120.  
  121.     Random Class (sonata.cc.purdue.edu:/pub/next/oop/classes/Random2.0.tar.Z)
  122.         - implements its own random number generator, supports Gaussian
  123.           variables, die rolling, etc.
  124.  
  125.     Julian Date (sonata.cc.purdue.edu:/pub/next/oop/classes/Julian1.1.tar.Z)
  126.     - implements Julian dates, conversions, etc.  (NeXTSTEP)
  127.  
  128.   [****]
  129.  
  130.  
  131. ========================
  132. NeXT distributed Classes
  133. ========================
  134.  
  135. + == only in NeXTSTEP Release 3 (may follow kit name for all objects in kit)
  136.  
  137. Root Class
  138. ==========
  139. Object                    the root class
  140.  
  141.  
  142. Common Classes
  143. ==============
  144. Some classes of general utility, that don't belong to any kit.
  145.  
  146. *Object*
  147.   Storage                 object that stores a list of items (various types)
  148.   List                    object that stores a list of other objects
  149.   HashTable               key-based storage object
  150.     StreamTable           used for writing sets of data to streams
  151.     NXStringTable         stores a set of strings accessible by key
  152.  
  153. Application Kit (AppKit)
  154. ========================
  155. The first kit, used for implementing the framework and user interface of
  156. (nearly) every NeXTSTEP application.  Provides an engine that handles
  157. the event loop, connection to the Window Server, and handles many standard  
  158. services. Includes classes for user controls, font and color management, a
  159. text editor, a dynamic data link system (release 3), inter-application
  160. communication, and several standard panels.
  161.  
  162. *Object*
  163.   Responder               abstract class for objects that respond to events
  164.     Application           an application's "engine"; handles event loop & more
  165.     Window                manages an independent drawing area on the screen
  166.       Panel               special subclass of Window
  167.         Menu              manages array of command items that can be picked
  168.           PopUpList       pop-up list of items that can be picked
  169.         FontPanel         std Panel for selecting Fonts
  170.         PrintPanel        std printing Panel:choose printer, resolution, etc
  171.         PageLayout        std page layout Panel
  172.         SavePanel         std save Panel
  173.           OpenPanel       std open Panel
  174.         NXColorPanel      std color-picker Panel
  175.         NXHelpPanel +     std help Panel
  176.         NXDataLinkPanel + std Panel for managing dynamic data links
  177.     View                  manages a drawing area within a Window
  178.       Control             abstract class for UI objects (buttons, etc)
  179.         NXBrowser         hierarchical browser of items (like a filesystem)
  180.         Matrix            manages a group of Cells (eg, a set of radio buttons)
  181.           Form            a Matrix of FormCells (text entry areas with titles)
  182.         Button            your basic push-button doodad
  183.         TextField         displays text or allows the user to edit it
  184.         Slider            slide its knob to change its value
  185.         Scroller          used for scrolling long documents
  186.         NXColorWell       used for representing a color selection
  187.       Text                std object for editing text (ascii or RTF)
  188.       Box                 used to group other Views in a box
  189.       NXSplitView         used for a pair of Views that share screen space
  190.       ScrollView          manages relation between a ClipView and Scrollers
  191.       ClipView            used for View that's larger than its onscreen area
  192.   Cell                    rubber-stamp class for drawing in a View
  193.     NXBrowserCell         used for the items in an NXBrowser
  194.     SelectionCell         performs some of NXBrowserCell's functionality (obs)
  195.     ActionCell            used with Controls (or a set with a Matrix)
  196.       FormCell            displays a title and a text-entry area in a Form
  197.       ButtonCell          used for drawing Buttons
  198.         MenuCell          used for drawing Menu items
  199.       TextFieldCell       used for drawing text-entry/display areas
  200.       SliderCell          used for drawing a slider bar
  201.   Pasteboard              used for cut/copy/paste and much, much, more
  202.   NXImage                 convenient image-drawer; handles much nitty detail
  203.   NXImageRep              abstract class used with NXImage for specific images
  204.     NXBitmapImageRep        NXImageRep for bitmaps (for example, TIFF)
  205.     NXEPSImageRep           NXImageRep for PostScrip images
  206.     NXCustomImageRep        NXImageRep for user-defined images
  207.     NXCachedImageRep        NXImageRep for already-rendered images
  208.   NXDataLink +            represents a dynamic data link in a document
  209.   NXDataLinkManager +     manages all the data links in a document
  210.   NXSelection +           represents the linked data in a source document
  211.   NXCursor                std object for displaying various cursors
  212.   Font                    object representing a PostScript font
  213.   FontManager             manages the Fonts in an application
  214.   NXColorPicker +         for creating a custom color picker in the color Panel
  215.   NXColorList +           manages a list of named colors (eg, Pantone(R))
  216.   PrintInfo               contains information about a print job
  217.   NXSpellChecker +        used to access spell-checking services
  218.   NXSpellServer +         allows 3rd party to provide a custom spell-checker
  219.   Speaker                 sends inter-application messages
  220.   Listener                receives inter-application messages
  221.   NXJournaler             records and plays back events and sounds
  222.  
  223. Video Class +(was in AppKit for Release 2)
  224. ===========
  225. Displays video input to a NeXTdimension board on screen.
  226.  
  227. *Object*
  228.   NXLiveVideoView         displays video input to a NeXTdimension board
  229.  
  230. Sound Kit
  231. =========
  232. The Sound Kit is a set of classes for managing sound in a NeXTSTEP application.
  233.  
  234. *Object*
  235.   Sound                   represents a single sound
  236.   *Responder*
  237.     *View*
  238.       SoundView           used to display and edit sounds
  239.       SoundMeter          used to indicate sound volume as it plays
  240.   NXSoundStream +         abstract class; manages a stream of sound data
  241.     NXPlayStream +          plays sound data on an NXSoundOut object
  242.     NXRecordStream +        records sound data from an NXSoundIn object
  243.   NXSoundDevice +         abstract class; represents a device (mic, speaker)
  244.     NXSoundIn +             represents sound input devices (microphones)
  245.     NXSoundOut +            represents sound output devices (speakers etc)
  246.  
  247. Music Kit # (no longer maintained by NeXT)
  248. ==========================================
  249. A large kit for music synthesis.  <<Should be available by ftp from CCRMA>>
  250.     (ccrma-ftp.stanford.edu:pub/???)
  251.  
  252. *Object*
  253.   Note                    stores information about a musical event
  254.   Envelope                control musical attributes of Notes
  255.   Part                    ordered set of Notes than can be performed
  256.   Score                   set of Parts that make up a musical piece
  257.   ScorePerformer          plays each Part in a Score
  258.   ScoreRecorder           records a Score, Part by Part and Note by Note
  259.   Orchestra               manages a DSP to synthesize music
  260.   Conductor               controls the timing of a group of objects
  261.   Instrument              manages Notes in a performance
  262.     SynthInstrument         synthesizes its Notes on the DSP
  263.     PartRecorder            copies its notes onto a Part object
  264.     FileWriter              writes its notes to a file on disk
  265.     NoteFilter              modifies Notes and passes them on to other objects
  266.   Performer               abstract class; sends a sequence of notes in time
  267.     FilePerformer           performs music data from a file or stream
  268.       ScorefilePerformer      performs music data from a scorefile
  269.     PartPerformer           performs the Notes in a Part
  270.   NoteReceiver            used by Instruments to realize Notes from Performers
  271.   NoteSender              used by Performers to realize Notes on Instruments
  272.   TuningSystem            represents a musical tuning system
  273.   SynthData               represents DSP memory used in music synthesis
  274.   Midi                    provides and ObjC interfact to the MIDI driver
  275.   WaveTable               represents a period of sound as a series of samples
  276.     Samples                 builds WaveTable of recorded samples
  277.     Partials                builds WaveTable from sine wave components
  278.   PatchTemplate           used as part of a SynthPatch
  279.   SynthPatch              abstract class; represents a sound sythesis module
  280.     Pluck                   synthesizes the sound of a plucked string
  281.     Wave1                   WaveTable synthesis; 1 table
  282.     Wave1v                  WaveTable synth; 1 table with vibrato
  283.     Wave1i                  WaveTable synth; 1 table with freq interpolation
  284.     Wave1vi                 WaveTable synth; 1 table with both
  285.     DBWave1v                WaveTable synth; 1 table with vibrato
  286.     DBWave1i                WaveTable synth; 1 table with interpolation
  287.     DBWave2vi               WaveTable synth; 2 tables with both
  288.     Fm1                     Freq modulation synth; simple fm
  289.     Fm1i                    Freq mod synth; simple fm with freq interpolation
  290.     Fm1v                    Freq mod synth; simple fm with vibrato
  291.     Fm1vi                   Freq mod synth; simple fm with both
  292.     Fm2cvi                  Freq mod synth; Cascade fm
  293.     Fm2cnvi                 Freq mod synth; Cascade fm with random mod. (noise)
  294.     Fm2pvi                  Freq mod synth; Parallel fm
  295.     Fm2pnvi                 Freq mod synth; Parallel fm with noise
  296.   UnitGenerator             abstract class; building blocks of DSP synthesis
  297.     Add2UG                  Various types of UnitGenerators
  298.     AllPass1UG              ...
  299.     AsympUG
  300.     ConstantUG
  301.     DelayUG
  302.     DswitchtUG
  303.     DswitchUG
  304.     InterpUG
  305.     Mul1add2UG
  306.     Mul2UG
  307.     OnepoleUG
  308.     OnezeroUG
  309.     OscgafUG
  310.     OscgafiUG
  311.     UscgUG
  312.     Out1aUG
  313.     Out1bUG
  314.     Out2sumUG
  315.     ScaleUG
  316.     Scl1add2UG
  317.     Scl2add2UG
  318.     SnoiseUG
  319.     UnoiseUG
  320.  
  321. Database Kit (DBKit) +
  322. ======================
  323. Manages connections to entity-relationship database servers.  The Database kit
  324. includes these services: communication with client-server databases, modeling
  325. properties (attributes and relationships) of each database, record management
  326. and buffering, data flow between record managers and the application user
  327. interface, and user interface objects for display and editing.
  328.  
  329. *Object*
  330.   DBDatabase              represents a connection to a database server
  331.   DBExpression            encapsulates a database expression as an object
  332.   DBQualifier             represents cond. records must satisfy to be selected
  333.   DBValue                 stores a value of an arbitrary type
  334.   DBBinder                connects database items to ObjC objects
  335.   DBModule                maps database model entities to application objects
  336.   DBRecordStream          represents a sequence of fetched database records
  337.     DBRecordList            supports random access to a seq. of records
  338.   DBFetchGroup            manages DBRecordList data with UI presentation
  339.   DBAssocation            associates a property with a destination object
  340.   *Responder*
  341.     *View*
  342.       *Control*
  343.         DBImageView       displays an NXImage object in a frame
  344.       *ScrollView*
  345.         DBTableView       spreadsheet-like view for modifying tables of data
  346.   DBTableVector           represents a field in a DBTableView
  347.   DBFormatter             abstract class for formatting data
  348.     DBTextFormatter         quickly formats read-only text data
  349.     DBEditableFormatter     formats editable text data
  350.     DBImageFormatter        formats, scales, and aligns image data
  351.  
  352. Indexing Kit (IXKit) +
  353. ======================
  354. The Indexing Kit is a set of programmatic tools for managing data, especially
  355. the large amounts of data characteristic of information-intensive applications.
  356. Much as the Application Kit provides a framework for a graphical interface,
  357. the Indexing Kit provides a framework for data management.
  358.  
  359. *Object*
  360.   IXStore                 relocatable storage allocator/manager
  361.     IXStoreFile           disk-based IXStore
  362.   IXStoreBlock            "wrapper" for a single block of storage in an IXStore
  363.   IXStoreDirectory        allows access to objects in an IXStore by name
  364.   IXBTree                 associative (key-based) access to data in an IXStore
  365.   IXBTreeCursor           a pointer to an item in an IXBTree
  366.     IXPostingCursor       cursor that assumes data is sets of postings (below)
  367.   IXRecordManager         manages large indexed collections of data
  368.   IXPostingSet            manages a set of postings (refs to indexed records)
  369.   *List*
  370.     IXPostingList         lazily retrieves objects from postings
  371.   IXFileFinder            indexes and finds files with a general query language
  372.   IXFileRecord            represents a file in the filesystem
  373.   IXAttributeParser       parses text into lists of tokens
  374.   IXAttributeReader       breaks text into tokens
  375.     IXLanguageReader      abstract class; for tokenizing a specific language
  376.   IXWeightingDomain       represents frequency information about a set of text
  377.   IXAttributeQuery        processes a query against a conforming object
  378.  
  379. Mach Kit +
  380. ==========
  381. The Mach Kit provides a number of classes for convenient use of Mach mutexes,
  382. and a number of classes used by the Distributed Objects facility.
  383.  
  384. *Object*
  385.   NXData                  wrapper for (void *) data
  386.   NXLock                  object-oriented mutex lock
  387.   NXConditionLock         as above, but waits on a condition
  388.   NXRecursiveLock         as above, but same thread can acquire multiple times
  389.   NXSpinLock              as above, for use with short critical sections
  390.   NXProtocolChecker       restricts messaging access to remote objects
  391.   NXInvalidationNotifier  notifies clients when a connection breaks
  392.     NXPort                wrapper for a Mach port
  393.   NXNetNameServer         provides ObjC interface to NeXT's NetNameServer
  394.  
  395. Distributed Objects Facility +
  396. ==============================
  397. The Distributed Objects facility allows a process to send messages to objects
  398. in the address space of a different process.  For all practical purposes, the
  399. remote object exists in the sending process.  Nearly any message can be sent,
  400. and many data types, including other objects can be sent and received
  401. "across the wire."
  402.  
  403. NXProxy                   a "root" class that represents a remote object
  404. *Object*
  405.   NXConnection            manages a connection between remote objects
  406.  
  407. Phone Kit +
  408. ===========
  409. The Phone Kit offers an easy way for a developer to connect an application to
  410. a telephone line, to initiate and receive calls over the line, and to transmit
  411. and receive data during a call.  The phone line must be attached to the user's
  412. computer, or to a computer on the user's network, through a Hayes ISDN
  413. Extender(R) or an equivalent device.
  414.  
  415. *Object*
  416.   NXPhone                 represents a phone line connected to the computer
  417.   NXPhoneCall             represents/manages a connection over a phone line
  418.   NXPhoneChannel          represents a channel within a connection
  419.  
  420. 3D Graphics Kit (3DKit) +
  421. =========================
  422. The 3D Kit uses RenderMan to create 3D scenes, much as the Application Kit
  423. uses the PostScript language to draw 2D graphics.  It also provides for
  424. animation and real-time manipulation of rendered scenes.
  425.  
  426. *Object*
  427.   *NXImageRep*
  428.     N3DRIBImageRep        NXImageRep for RenderMan RIB data
  429.   *Responder*
  430.     *Window*
  431.       *Panel*
  432.         N3DRenderPanel    std Panel for selecting hosts to render scene on
  433.     *View*
  434.       N3DCamera           renders a single 3D scene
  435.         N3DMovieCamera    rederes a sequence of 3D scenes, providing animation
  436.   N3DShape                abstract class representing a single 3D "object"
  437.     N3DLight              represents a source of light in a scene
  438.   N3DShader               handles surface shading/texturing/coloring
  439.   N3DRotator              rotates/moves a 3D scene in various ways
  440.   N3DContextManager       manages rendering contexts for an application
  441.  
  442. NetInfo Kit (NIKit) +
  443. =====================
  444. These are all standard panels for accessing NetInfo information.  Strangely,
  445. most aren't subclasses of Panel.
  446.  
  447. *Object*
  448.   NIDomain                represents a NetInfo domain
  449.   NIDomainPanel           std panel for selecting a NetInfo domain
  450.     NIOpenPanel           std panel for opening an item in a domain
  451.       NISavePanel         std panel for saving info for a domain
  452.   *Responder*
  453.     *Window*
  454.       *Panel*
  455.         NILoginPanel      used, for example, to authorize root access to run an  
  456. app
  457.  
  458. Interface Builder Applicaton Classes (IB Classes) +
  459. ===================================================
  460. These classes allow developers to expand the functionality of the 
  461. Interface Builder application, creating their own palettes of objects
  462. that can be dragged into an interface, and inspectors to set and view
  463. the attributes of those objects.
  464.  
  465. *Object*
  466.   IBInspector             defines a custom Interface Builder inspector
  467.   IBPalette               connects a loadable palette to Interface Builder
  468.  
  469. Preferences Application Classes +
  470. =================================
  471. These classes allow developers to add their own modules to the Preferences
  472. application.
  473.  
  474. *Object*
  475.   Layout                  represents a Preferences module's layout view
  476.  
  477. Workspace Manager Application Classes +
  478. =======================================
  479. These classes allow developers to add their own file contents inspectors to
  480. the Workspace Manager application.
  481.  
  482. *Object*
  483.   WMInspector             represents a Workspace contents inspector
  484.  
  485.  
  486.  
  487. ==============================
  488. NeXT 3rd Party Class Libraries
  489. ==============================
  490.  
  491.   [many others - NeXT now publishes an _Object Works_ Catalogue, which
  492.     tells of available classes]
  493.  
  494.   BarCodeKit - an object library for creating bar codes in PostScript and
  495.                 TIFF formats.  (Hot Software, (617) 252-0088, info@hot.com)
  496.  
  497.   SerialPortKit - generic serial port object, modem object, specific bar
  498.         code readers, magnetic stripe card readers and other serial
  499.         devices. (Hot Software, (617) 252 0088, info@hot.com)
  500.  
  501.   GeoKit - objects that perform map rendering
  502.                 (Deltos Fleet Computing, (214) 540-2301)
  503.  
  504.   ChooserPalette - a selection list manager
  505.                 (Objective Technologies, (212) 227 6767)
  506.  
  507.   GraphPalette - tools for graphing data in custom apps
  508.                 (Objective Technologies, (212) 227 6767)
  509.  
  510.   MathPalette - tools for interfacing with Mathmatica
  511.                 (Objective Technologies, (212) 227 6767)
  512.  
  513.   SmartFieldPalette - supplies data input fields that restrict and format
  514.                 input, report errors, and notify the user of field content
  515.                 (Objective Technologies, (212) 227 6767)
  516.  
  517.   Serial Solutions from BenaTong - Object wrappers for the UNIX ioctls, Modem
  518.         support and MagCard/BarCode reader support.
  519.         (BenaTong (614) 276-7850 benatong@count0.cmhnet.org)
  520.  
  521.  
  522.  
  523. --------------
  524.  This compendium is doomed to always be incomplete.  If you would like
  525. to add something to it that was left off, you can either contact me
  526. directly (shirley@fdr.jsc.nasa.gov, Bill Shirley) or post to the group
  527. comp.lang.objective-c.  Contacting me directly will have better chances
  528. of me making the change.
  529.  Again, thanks to all those who have helped, informed, and given feedback.
  530. -- 
  531.  Bill Shirley
  532.  shirley@fdr.jsc.nasa.gov
  533. -- 
  534.     ``One lonesome body,        Bill Shirley
  535.       one lonesome song.        shirley@fdr.jsc.nasa.gov
  536.       No lonesome body,
  537.       no lonesome song.'' - throwing muses
  538.